/**
 * @author XSYangtuo
 * @description a little msg
 * @version 1.3
 */

var qframe = {//小弹窗
    /**
     * 
     * @param {String} text 显示内容（html警告）
     * @param {String1} str1 第一个按钮内容 
     * @param {function1} fun1 第一个按钮功能
     * @param {String2} str2 第二个按钮内容
     * @param {function2} fun2 第二个按钮功能
     * @param ......
     * @description
     * 小技巧：
     * 1,若使得fun返回true，则不会关闭弹窗
     */
    start:function(text,buttony,buttonn){
        this.input_counter=0,//输入框数量
        this.NoneUsedFunc = [];//用于存储叠加态的函数,测试中
        this.yes = function(){};
        this.no = function(){};
        //适配旧版qframe
        /**
         * @param text 显示的内容
         * @param buttony 第一个按钮文本
         * @param buttonn 第二个按钮文本
         */
        
        if((typeof arguments[1]) == "string" && (typeof arguments[2]) == "string"){
            arguments[3] = arguments[2];
            arguments[2] = function(){qframe.yes();};
            arguments[4] = function(){qframe.no();};
        }
        this.frame = window.document.getElementById("qframe");
        this.textview = this.frame.getElementsByTagName("p")[0];
        this.textview.innerHTML = "<span>"+arguments[0]+"</span>";
        let bs = document.getElementById("qframe_buts");
        this.functions = [undefined];//索引从一开始
        let apstr = "";
        for(let i =1;i<=arguments.length;i+=2){//这里改一改
            if(arguments[i] == undefined) break;
            this.functions.push(arguments[i+1]);
            apstr+="<button onclick=\"if(!(qframe.functions["+
            (this.functions.length-1)+
            "]("+(this.functions.length-1)+") )) qframe.hide()\">"+
            arguments[i]+"</button>";
        }
        bs.innerHTML = apstr;
        this.frame.style.display ="block";
        },

    changeText:function(str){
        qframe.textview.getElementsByTagName("span")[0].innerHTML = str;
    },
    // //用户输入密码，测试
    // pwd:function(text,func){
    //     text+="<br>用户<input id=\"qframe_pwd_usr\"><br>密码<input id=\"qframe_pwd_pwd\">"
    //     this.start(text,"取消",function(){},"确定",func);
    // },
    // pwdUsr:function(){return document.getElementById("qframe_pwd_usr").value;},
    // pwdPwd:function(){return document.getElementById("qframe_pwd_pwd").value;},



    /**
     * @param {String} 输入框前文本
     * @param {String} 输入框背后显示文本
     * @param {String} 输入框类型
     */
    
    inputadd:function(itext,hi,itype){
        if(hi == undefined) hi="请输入";
        if(itype == undefined) itype="text";
        this.textview.innerHTML+=
        "<br>"+itext+
        "<input type=\""+itype+
        "\" id=\"qframe_pwd_"+(++this.input_counter)+
        "\" placeholder=\""+hi+"\">";
    },
    inputget:function(i){//根据ID获取输入框内容,从1开始数,暂只支持文本和选项卡
        let el = this.inputgetElement(i);
        switch(el.type){
            case "text":case "password":return el.value;
            case "checkbox":return el.checked;
        }
    },
    inputgetElement:function(i){//返回输入内容Element对象
        return document.getElementById("qframe_pwd_"+i);
    },


    restart:function(){//保留原设置重启
        this.frame.style.display ="block";
    },
    //两个函数对应前两个按钮的触发，适配旧版
    yes:function(){},
    no:function(){},
    //生命周期结束
    hide:function(){this.frame.style.display ="none";}
}
    document.body.innerHTML +=
    "<div id=\"qframe\"><div><p>text</p><span id=\"qframe_buts\"></span>";
    //别忘了开始的时候设置yes or no